#ifndef BASEGAME_H
#define BASEGAME_H

#include <QWidget>
#include <QGridLayout>

// This class will be subclassed to provide games
class BaseGame : public QWidget
{
    Q_OBJECT

public:
    // Constructor
    explicit BaseGame(QWidget *parent = 0, int difflvl = 1);

    // Virtual members to override
    virtual bool isSolved() { return true; }
    virtual QString hint() { return "No hint for this game."; }

signals:
    // Signal for point modification
    void pointsModification(int diff);

protected:
    // Handle the layout for the widget
    QGridLayout * lay;

    // Handle difficulty level for the widget
    int difficulty_level;
};

#endif // BASEGAME_H
